Pythonをapacheで動かす

16 6月

hello_py

PHP と同じような感じで apache で Python を動かしたいと思います。

参考サイト:Pythonをやってみる CGIとmod_pythonの違い

まず、mod_python をインストールします。python-dev も入れます。この後たぶん,OS の再起動が必要な様です。

xubuntu では、/etc/apache2/sites-available/ にある設定ファイル(http の方)の VirtualHost タグに、下記の内容を追加します。

LoadModule python_module modules/mod_python.so
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

最近、このファイルの中に何も書かれていないのですが?

apache を再起動します。参考サイトそのままですが下記の内容の hello.py ファイルを作成します。

# -*- coding: utf-8 -*-
from mod_python import apache

def index():
	return "Hello! index"

def test1():
	return "Hello! test1"

def test2(req):
	req.write("Hello! test2")

def test3(req, aaa, bbb):
	req.write("Hello! test3\n\n")
	req.write("aaa : "+ aaa + "\n")
	req.write("bbb : "+ bbb + "\n")

これを開いてみたのが、冒頭のキャプチャーです。とくに工夫をしていない環境ですが,この場合 python2 が動いています。python3 を動かすことは上手く行きませんでした。python を apache と連動させるなら mod_wsgi の方が新しい記事が多いようです。